// var a = 1
// function bar () {
//   let a = 2
//   function foo() {  // foo的词法作用域是bar  bar的词法作用域是window
    
//     function baz() {
//       console.log(this.a);
//     }
//     baz(); //
//   }
//   foo()
// }
// bar()


// let obj = {
//   a: 1,
//   foo: foo
// }
// let obj2 = {
//   a: 2,
//   obj: obj
// }
// function foo() {
//   console.log(this.a);
// }
// obj2.obj.foo()



// let obj = {
//   a: 1
// }
// function foo(x, y) {
//   console.log(this.a);
//   console.log(x + y);
// }
// let bar = foo.bind(obj)
// bar(2, 4)